﻿using PersonalAlbum.Controllers;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.VisualStudio.TestTools.UnitTesting.Web;

namespace UnitTests
{
    
    
    /// <summary>
    ///This is a test class for SupportControllerTest and is intended
    ///to contain all SupportControllerTest Unit Tests
    ///</summary>
    [TestClass()]
    public class SupportControllerTest
    {


        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        // 
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion


        /// <summary>
        ///A test for Update
        ///</summary>
        // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example,
        // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server,
        // whether you are testing a page, web service, or a WCF service.
        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("%PathToWebRoot%\\ImagesSite\\ImagesSite", "/")]
        [UrlToTest("http://localhost:52161/")]
        public void UpdateTest()
        {
            PersonalAlbum.Controllers.SupportController target = new PersonalAlbum.Controllers.SupportController(); // TODO: Initialize to an appropriate value
            int supportId = 0; // TODO: Initialize to an appropriate value
            System.Web.Mvc.ActionResult expected = null; // TODO: Initialize to an appropriate value
            System.Web.Mvc.ActionResult actual;
            actual = target.Update(supportId);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Terms
        ///</summary>
        // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example,
        // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server,
        // whether you are testing a page, web service, or a WCF service.
        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("%PathToWebRoot%\\ImagesSite\\ImagesSite", "/")]
        [UrlToTest("http://localhost:52161/")]
        public void TermsTest()
        {
            PersonalAlbum.Controllers.SupportController target = new PersonalAlbum.Controllers.SupportController(); // TODO: Initialize to an appropriate value
            System.Web.Mvc.ActionResult expected = null; // TODO: Initialize to an appropriate value
            System.Web.Mvc.ActionResult actual;
            actual = target.Terms();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for SendToFriend
        ///</summary>
        // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example,
        // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server,
        // whether you are testing a page, web service, or a WCF service.
        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("%PathToWebRoot%\\ImagesSite\\ImagesSite", "/")]
        [UrlToTest("http://localhost:52161/")]
        public void SendToFriendTest()
        {
            PersonalAlbum.Controllers.SupportController target = new PersonalAlbum.Controllers.SupportController(); // TODO: Initialize to an appropriate value
            string friendEmail = string.Empty; // TODO: Initialize to an appropriate value
            string freeText = string.Empty; // TODO: Initialize to an appropriate value
            string senderName = string.Empty; // TODO: Initialize to an appropriate value
            int entryId = 0; // TODO: Initialize to an appropriate value
            System.Web.Mvc.ActionResult expected = null; // TODO: Initialize to an appropriate value
            System.Web.Mvc.ActionResult actual;
            actual = target.SendToFriend(friendEmail, freeText, senderName, entryId);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Index
        ///</summary>
        // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example,
        // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server,
        // whether you are testing a page, web service, or a WCF service.
        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("%PathToWebRoot%\\ImagesSite\\ImagesSite", "/")]
        [UrlToTest("http://localhost:52161/")]
        public void IndexTest()
        {
            PersonalAlbum.Controllers.SupportController target = new PersonalAlbum.Controllers.SupportController(); // TODO: Initialize to an appropriate value
            System.Web.Mvc.ActionResult expected = null; // TODO: Initialize to an appropriate value
            System.Web.Mvc.ActionResult actual;
            actual = target.Index();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for Delete
        ///</summary>
        // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example,
        // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server,
        // whether you are testing a page, web service, or a WCF service.
        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("%PathToWebRoot%\\ImagesSite\\ImagesSite", "/")]
        [UrlToTest("http://localhost:52161/")]
        public void DeleteTest()
        {
            PersonalAlbum.Controllers.SupportController target = new PersonalAlbum.Controllers.SupportController(); // TODO: Initialize to an appropriate value
            int supportId = 0; // TODO: Initialize to an appropriate value
            System.Web.Mvc.ActionResult expected = null; // TODO: Initialize to an appropriate value
            System.Web.Mvc.ActionResult actual;
            actual = target.Delete(supportId);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for AddSupport
        ///</summary>
        // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example,
        // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server,
        // whether you are testing a page, web service, or a WCF service.
        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("%PathToWebRoot%\\ImagesSite\\ImagesSite", "/")]
        [UrlToTest("http://localhost:52161/")]
        public void AddSupportTest()
        {
            PersonalAlbum.Controllers.SupportController target = new PersonalAlbum.Controllers.SupportController(); // TODO: Initialize to an appropriate value
            MyAlbum.Model.Support support = null; // TODO: Initialize to an appropriate value
            System.Web.Mvc.JsonResult expected = null; // TODO: Initialize to an appropriate value
            System.Web.Mvc.JsonResult actual;
            actual = target.AddSupport(support);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for SupportController Constructor
        ///</summary>
        // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example,
        // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server,
        // whether you are testing a page, web service, or a WCF service.
        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("%PathToWebRoot%\\ImagesSite\\ImagesSite", "/")]
        [UrlToTest("http://localhost:52161/")]
        public void SupportControllerConstructorTest1()
        {
            PersonalAlbum.Controllers.SupportController target = new PersonalAlbum.Controllers.SupportController();
            Assert.Inconclusive("TODO: Implement code to verify target");
        }

        /// <summary>
        ///A test for SupportController Constructor
        ///</summary>
        // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example,
        // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server,
        // whether you are testing a page, web service, or a WCF service.
        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("%PathToWebRoot%\\ImagesSite\\ImagesSite", "/")]
        [UrlToTest("http://localhost:52161/")]
        public void SupportControllerConstructorTest()
        {
            MyAlbum.Services.IDataService<MyAlbum.Model.Support> supportService = null; // TODO: Initialize to an appropriate value
            MyAlbum.Services.IEntryService entryService = null; // TODO: Initialize to an appropriate value
            PersonalAlbum.Controllers.SupportController target = new PersonalAlbum.Controllers.SupportController(supportService, entryService);
            Assert.Inconclusive("TODO: Implement code to verify target");
        }
    }
}
